export {}

// interface 接口

interface Person {
  name: string
  age: number
  sayHi: () => void
}

// 使用接口
let person: Person = {
  name: '自豪',
  age: 666,
  sayHi () {console.log('我自豪')}
}

interface Point2D {
  x: string
  y: string
}

// interface Point3D {
//   x: string
//   y: string
//   z: string
// }
// 接口继承的语法  interface 接口A extends 接口B {}
// 继承后  接口A 具有 接口B的所有属性和函数的类型声明
interface Point3D extends Point2D {
  z: string
  name: string
}

let point: Point3D = {
  x: '110',
  y: '111',
  z: '222',
  name: '张三'
}